home *** CD-ROM | disk | FTP | other *** search
- Open Error(0) - Some Solutions (Summer '87)
-
- Diane Lask
- 24 Sep 89
-
-
- Normally, open errors are supposed to return a value that is
- equivalent to a DOS error number. Cases have been reported in which open
- error is returning a value of 0 - not a valid DOS error number. The open
- error(0) is always reporting the failure occurring on an index file.
- Because of the intermittence of the problem , we have no definite causes
- for the problem however it does seem to be directly related to an index
- file corruption. Certain techniques, summarized below, have been found
- to have a high degree of consistency in fixing the problem once it does
- occur.
-
- Some conjectures and insights as to the nature of the problem:
-
- a. Although an index file is almost invariably reported with the
- error, it appears that the reported file may not actually be the
- one causing the problem. Correction procedures dealing with file
- corruption must be applied to all index files. Index file
- corruption of some sort should be the first suspect.
-
- b. Since the error reports with an index file and since we do so
- much in memory buffering of our indices, corruption of the memory
- environment might also be suspected.
-
- c. The problem seems to occur more frequently with very large
- databases and/or indices (megabyte range) and/or a very large
- number of databases or indices.
-
- d. The problem seems to occur more frequently on a network.
-
- The following procedures have found to be of great help in correcting
- the problem:
-
- 1. Delete all index files associated with the application and then
- ___
- recreate the indices. Note: Step #1 must be executed before each
- of the following steps will work properly (reasoning that if step
- #1 has not succeeded by itself the index files have been
- corrupted again).
-
- 2. If no success with #1, insure the integrity of the memory
- environment (IE. BUFFERS 8 or 16, FILES= odd number, SET CLIPPER
- is sensible and at an odd number, no TSR's or caches, etc.).
-
- 3. If no success try turning off expanded memory (E000).
-
- 4. If no success try altering the CLIPPER memory environment R
- parameter.
-
- 5. If no success attempt to change the order in which the databases
- and/or the indices are opened.
-
- 6. If no success try altering the index key or database lengths by
- one.
-
- Step #1 appears to succeed by itself in over 90% of the cases
- involved. recreating indices).
-
- Any suggestions or comments would be appreciated and should be
- forwarded to me (Diane Lask CIS ID 72460,1247).